package collection;

import java.util.ArrayList;
import java.util.List;

/**
 * java.util.List集合
 * List接口继承自Collection
 * List是有序且可以存放重复元素的集合，并且提供了一套可以通过下标操作元素的方法
 *
 * 常见的实现类:
 * ArrayList：内部使用数组实现，查询性能更好
 * LinkedList:内部使用链表实现，首尾增删性能更好
 * 如果不是对性能十分苛刻，一般使用ArrayList即可
 */
public class ListDemo1 {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
//        List<String> list = new LinkedList<>();
        list.add("one");
        list.add("two");
        list.add("three");
        list.add("four");
        list.add("five");
        System.out.println(list);
        /*
            E get(int index)
            获取指定下标位置对应的元素
         */
        //获取list集合中的第三个元素
        String e = list.get(2);
        System.out.println(e);

        for(int i=0;i<list.size();i++){
            e = list.get(i);
            System.out.println(e);
        }

        /*
            E set(int index,E e)
            将给定元素设置到指定位置，返回值为原位置对应的元素
            set是替换元素操作
         */
        //[one,two,three,four,five]->[one,two,six,four,five]
        String old = list.set(2,"six");
        System.out.println(list);
        System.out.println("被替换的元素是:"+old);
    }
}







